package com.wesley.future.DaoImp;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.wesley.future.Dao.UsuarioDao;
import com.wesley.future.Model.Usuarios;
import com.wesley.future.Utils.HibernateUtil;

public class UsuarioDaoImp implements UsuarioDao {

	@Override
	public void save(Usuarios usuario) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.save(usuario);
		t.commit();
		
	}

	@Override
	public Usuarios getUsuarios(long id) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		return(Usuarios) session.load(Usuarios.class,id);
		
	}

	@Override
	public List<Usuarios> list() {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		List lista = session.createQuery("from Usuarios").list();
		t.commit();
		return lista;
		}

	@Override
	public void remove(Usuarios usuario) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.delete(usuario);
		t.commit();
		
	}

	@Override
	public void update(Usuarios usuario) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		session.update(usuario);
		t.commit();
	}

}
